みなさんへの告知板


オンラインゲームからは離れました。これからはリアルょぅι゛ょで頑張ろうと思います


ミジンコゼミナール


ネットゲーム解析初心者向け講座、ミジンコゼミナール 開講!

多重起動、窓化の基礎をしらんやつは見ておけ。
読んでも理解できないやつは解析以前の問題だから文句いうな('A`)

ミジンコゼミナール:ネットゲーム解析講座一覧
1日目:入学/必要な教材 2日目:基本的なアセンブリ言語
3日目:Ollydbg の操作方法と演習 4日目:多重起動1(FindWindow)
5日目:多重起動2(CreateMutex) 6日目:多重起動3(EnumWindows、その他の方法)
7日目:ウィンドウについて
8日目:窓化(D8) 9日目:窓化(D9)
10日目:DLL について 11日目:何か作ってみよう
12日目:試験 13日目:プレゼント

2007年01月10日


気まぐれメモ By Granado Espada

ついさっきインスコ終わったので見てみました。

X罠起動しない状態にしててもしばらくすると不正なんたらを、って

出るから蔵側(?)でチェックしてるのかな?

ハッシュとかMD5とかサイズとかCRCとかあーだのこーだのとかで。

となるとパケ通信でチェックしてる疑いが出てくるんだけど、正直パケ解析を

やってる時間がないっす…。すいまそんorz

とりあえずソケット周りの処理を見ないことにはなんともいえないけどね('A`)




1/11追記:
改めて蔵をちゃんと見てみたら大ボケしていたおいらを発見…orz


2006年12月23日


久しぶりのLostOnline

久しぶりに LostOnline をやってみた。

で、フォルダの中を漁ってたら今更ながらこんなファイルが

あるのに気づいた…('A`)

==============================

UpdaterCmd

;web notice
http://lostonline.mgame.jp/launch/notice_list.php
;http://testet.mgame.jp/launch/notice_list.php

;smart update open or close
ServiceStop:0

;download list
list:FileList.dat:downftp.mgame.co.jp/pub/lostonline/patch
list:FileList2.dat:210.254.115.225:15000

;worlds IP,port
world:00:210.254.115.226:15100
world:01:210.254.115.229:15100

;excluse file(dir is add \)
;exc:city.exe
;exc:XTrap\

;run file
run:lostonline.exe

;homepage
home:www.lostonline.jp

==============================

で、色々と参考にしてファイルを作ってみる。

「NoGuard」

この名前のファイルをおくと Updater.exe を実行してもファイルを

落とさなくなるが、エラーになる。

うまくやれば XTrap とかも落とさなくなるんだろうな。

次に「NoMusic」「WindowMode」を作ってみる。これはそのまんまだねぇ

てな感じで色々作ってみたんだけど、よくわからんファイルもあった。

「324」

?('A')?

このファイルを作るとどんな効果があるんだ??

面倒くさくて調べてないんだけどさ…。

2006年12月21日


TIB の情報ってすくない??

デバッグ検出以外で役に立つものがあるのかな?

という疑問が沸いたので TIB について30分ほど資料を探してみたけど

あんましいいのが無いなぅ('A`)

TIB Wiki

む〜、さすがにM$公認のデバッグ本が一番か…。

2006年12月20日


ノーステイルメモ

やっとブログのメンテ作業が終わったらしい。

メンテ中ってブログの操作は出来ないくせにアクセスはできるんだね

スタイルシートが効いてないから端寄せ縦長一直線のひどい状態。

この影響もあってか昨日の総アクセス数は55でした。

平日平均の10分の1以下。

うは少NEEEえええ!!!11!と本気で思ったオレガイル orz

なにはともあれ、元に戻ってよかったよかった。



さて ノーステイル のメモ。


・ファイルの読み込み順序、の続き。

 Nostale.exe で起動。

 ↓

 C:\DOCUME~1\ユーザー名\LOCALS~1\Temp\Update.dat.svr の確認。

 ↓

 デバッガ検出

 ↓

 C:\DOCUME~1\ユーザー名\LOCALS~1\Temp\Update.dat.svr 作成。

 ↓

 デバッガ検出 ⇒ 以降こんな感じでレギュラー出演。

 ↓

 nostailX.dat 起動



 Config.dat
 まぁ、そんな感じ

 ↓

temp.tmp
 面白もんでも入ってうかと思ったら中身は吹き出しとかのカーソルジャマイカorz
 このあとデータとして取り込まれてファイルは削除される

 ↓

 WAV フォルダの snd.pck ファイルオープン。
 何たらかんたら 1、2、5、7・・・と飛び々に wav ファイルの読み込み。
最終的には 687 まで。
 きっと音楽マニアの人はいろいろ入れてパックしてるんだろうな。

最後のとこ ⇒ 01400C68 36 38 37 2E 77 61 76 00 687.wav.
 

 ↓

 NostaleData フォルダからNSmnData.NOSを読み出し。
 見てれば理由はわかるのだがその読み出し方は…。
 最終的にデータとして保管されるが読み返すのがダルイのでスルー。
 今度暇なときにでも。

 ↓

 以降 NS なんたらが十数回(ファイルの数いくつあったっけ?)ひたすらつづく。
 NSeffData.NOS が最後。

 ↓

 やっと XTrap API の呼び出し。

 スタック [0012E898]=4043BE58 (XTrapApi.4043BE58)
 ESI=4043BE58 (XTrapApi.4043BE58)

 ↓
 
 しばらくすると偽装が始まっていく。
 おまえはパッカーかと小一時間(ry

40409F9A 8B3D 84904240 MOV EDI,DWORD PTR DS:[40429084] ; kernel32.GetProcAddress
40409FA0 68 98CB4240 PUSH XTrapApi.4042CB98 ; ASCII "EnumProcesses"
40409FA5 56 PUSH ESI
40409FA6 FFD7 CALL EDI
40409FA8 68 84CB4240 PUSH XTrapApi.4042CB84 ; ASCII "EnumProcessModules"
40409FAD 56 PUSH ESI
40409FAE A3 9C454540 MOV DWORD PTR DS:[4045459C],EAX
40409FB3 FFD7 CALL EDI
40409FB5 68 6CCB4240 PUSH XTrapApi.4042CB6C ; ASCII "GetModuleFileNameExA"
40409FBA 56 PUSH ESI
40409FBB A3 98454540 MOV DWORD PTR DS:[40454598],EAX
40409FC0 FFD7 CALL EDI
40409FC2 68 54CB4240 PUSH XTrapApi.4042CB54 ; ASCII "GetModuleInformation"
40409FC7 56 PUSH ESI
40409FC8 A3 94454540 MOV DWORD PTR DS:[40454594],EAX
40409FCD FFD7 CALL EDI
40409FCF 68 40CB4240 PUSH XTrapApi.4042CB40 ; ASCII "GetModuleBaseNameA"
40409FD4 56 PUSH ESI
 ・
 ・


 ↓

 長い道を経てタスクバーの常連となる。
 XTrap コンニチワ

 7C80B680 FF55 08 CALL DWORD PTR SS:[EBP+8] ; XTrapApi.40405C20


 ↓

 追ってばかりなのもなんだったので、気分転換もかねてちょっと手を加える。
 Xtrap の認証ページへアクセスさせる。

 

 はい、どうみても Windows のパクリです('A`)

 処理を元に戻してつづきへ。


 ↓

 何度かのコール後にゲーム起動。



 感想:
 ざっとしか見てないが行動パターンが一緒っぽいので回避はいける。
 最近はフラグだのレジスタだのをいじって回避するのが流行ってる、
 みたいな事がどっかのサイトに書いてあった。
 てか、そのやりかたは知らないけどね。


 肝心のゲームのほうは、クエでニワトリペットにしなきゃいけないらしいんだが

 みんなのニワトリ争奪戦が激しかったのでログアウト ⇒ まだ Lv4 orz

 おかげでこんなことやってるわけだ。

 今夜はがんばって普通にプレイしてみよう…。

2006年12月19日


ノーステイルのクロβがそろそろオープン

本日よりCβが始まる Nostale(ノーステイル)

某氏の紹介で垢をゲットしたので少し遊んでみることにした。

といってもさすがに夜中の 0時からは始まらないらしい。

ためしにスタートしてみるもログイン鯖すら開放されていないわけで…。

公式を見てみると 15:00 開始だそうだ。

ふぅ〜・・・やれやれだぜ('A`)

というわけで健全にプレイするための sp 的めも。


・ファイルの読み込み順序
 Nostale.exe で起動。
 ↓
 C:\DOCUME~1\ユーザー名\LOCALS~1\Temp\Update.dat.svr の確認。
 ↓
 デバッガ検出
 ↓
 C:\DOCUME~1\ユーザー名\LOCALS~1\Temp\Update.dat.svr 作成。
 ↓
 デバッガ検出
 ↓
 蔵本体起動


・直起コマンド
 nostalex.dat EntwellNostaleClient

・多重
 垢ひとつしかないので放置。

・デバッガ検出。
 普通の検出方法。
だがしかし、ことあるごとに呼ばれてる。まじうざぃ('A`)
 日中仕事している社会人のことも考えろゴラァ!!

 7C813093 > 64:A1 18000000 MOV EAX,DWORD PTR FS:[18]
 7C813099 8B40 30 MOV EAX,DWORD PTR DS:[EAX+30]
 7C81309C 0FB640 02 MOVZX EAX,BYTE PTR DS:[EAX+2]

・X罠
 多分ロストと同じだろうから見てない。

・パッキング
 X罠だけ。蔵はなし。

夜更かしはよくないね、もう眠ろ〜(*´ω`)

2006年12月18日


多重起動3−3あぷ

多重起動3−3をあぷ。

凸(^w^)

年末というのもあってか色々と忙しいめ…。

というわけでしばらくミジンコゼミの更新止まります(タブン

それともう一つ。

ミジンコゼミの記事が全て書き終えたら2週間ほどで全記事をクローズにします。

必要な人は適当にページ保存しといてね('A`)ィェァ

2006年12月17日


エンジェルラブオンライン適当にょっき

おーし、帰ってきたぞー!!
ぶっちゃけ飲み過ぎでかなり弱ってる('A`)

つーわけd、エンジェルラブオンラインの升板のおまいたちへ

XPユーザー切り替えで多重起動なんて眠いことするな!!

0043E7EE . FF15 A0815700 CALL DWORD PTR DS:[<&KERNEL32.OpenMutexA>; \OpenMutexA
0043E7F4 . 85C0 TEST EAX,EAX
0043E7F6 . 0F85 94010000 JNZ angel_da.0043E990

TEST EBX,EBX とかにかえておけ、ちなみに JMP でも
いいけど nop はあまり使わない派だからおれはこっちだ。

それとNPCどこでも呼び出しとか移動うpもやろうと思ったが
激しくだるいオレガイルorz

なので役に立たないアドレスおいとく。
あともう一個あったけど忘れたんだぜ。

つ 7B270C8

ちなみにスレ見てると気付いてないような気がしてならないんだが

angel.dat のことはわかってるよな?

まぁいい、やってないやつは angel.dat.exe とかにしてアンパックしてから
蔵書き換えだぞ。start.exe じゃないから間違えるなよ。

さて、2,3時間しかやってないがとりあえず引退だ!!

また気が向いたらIN するかもしれんがな(*´ω`)

2006年12月16日


AngelLoveOnline をやってみた。!

さりげなくFEもやれることはやってしまった感があるので
今朝からちょっと違うゲームを探してみた。

なんでも最近 OB になったゲームがあるらしい。

その名も AngelLoveOnline

さっそくどんなものかと升スレを見てみたが、解析者いねぇのかYO!!('A`)

多重起動の話が出てきているが XP のユーザー切り替えかよ…orz

あれか、ひょっとしてアンチ対策の敷居が高くてみんな苦戦中なのか!?

よーし、じゃあミジンコなりにやってやろうじゃまいか!

というわけでまずは START.exe を実行。

アンパックなし、多重チェックもなし。まぁスタートプログラムだからそんなもんか。

2つ目を立ち上げる。

うーむ、やっぱりスタートプログラムには何も仕掛けはないっぽいな。

そのまま 2つめをスタートすると落ちる。むむ!これか!!

フォルダを見ると exe はこれだけ。とりあえず Ollydbg で読み込みながら実行。

ふむふむ、引数には ./angel.dat を使うのか…。まぁゲームだから .dat ファイル

くらいは使うわな。

ちょい進めて実行。。。。ん??落ちたぞ??ここか!

えーとどれどれ…。ここで別プロセスを実行させるんだろ、引数は angel.dat だけで

実行モジュール名は NULL か。

ん〜、引数だけで起動するプログラム…。

自分自身を示す以外の方法、かつ引数だけで実行。むー・・・。

あぁ・・・わかった。どっかで引数に細工してるな。

angel.dat が引数だから多分これ自体を実行ファイルとして

認識してるなきっと。つまり .dat は見掛け倒しだな。

つーことは一時的に実行ファイルとして登録しておけば .dat で起動できる。



・・・・('A`)デキタ


何時間後かにつづく to be continued!!

2006年12月12日


げむがどOEP

今日は朝一から会議、そして午後からまたもや会議('A`)

朝っぱらからの会議はよくないね、正直やる気が出ないっす。

さて、最近忙しくて色々と手をつけれてないのだが

みなさんから色々メール頂いたりしてることもあり、

ファンタジーアースの升スレを見に行ってみた。

ちなみに合計1時間くらいしかプレイしてないのでゲーム内の用語が
チンプンカンプンなのは秘密だぞ('A`)

それにしてもここのスレの雰囲気(←なぜか変換される)はいいよね

sp ももっと頑張らねば!と思えてくる。

とりあえずざっと見たところ蔵のアンパックはみんな出来てるっぽい。

なんだかんだで一部(?) の人は nPro 対策も出来てるっぽい。

最後のほうの話題は GameGuard 自体をいじくる話にむかってるような
向かってないような…。

では sp は何をしようか?と考えたが今現在会社にいるわけで、

さすがにゲームインストールして動かしながらあーだこーだと

するにはちとツライ。いや、だいぶツライ。

んで、結局。

同居人パワーをフルにいかしてもらい GameGuard フォルダをメールで
光よりも早く輸送してもらい、ざっと眺めて簡単な OEP の一覧を作ってみた。

まぁ、GameGuard をアンパックしたい人の役にでも立ってくれれば幸いだ。

・GameGuard.des
00447D34 .-E9 9E89FCFF JMP GameGuar.004106D7

・GameMon.des
004D5065 .^E9 45FEF9FF JMP GameMon.00474EAF

・npgg9x.des
003FDBB8 >-E9 3096FEFF JMP npgg9x.003E71ED

・npgmup.des
10030968 >-E9 6A25FEFF JMP npgmup.10012ED7

・npsc.des
10027281 >-E9 2A56FEFF JMP npsc.1000C8B0


っておいら仕事中に何してるんだ('A`)

午後の会議の用意でもしてこよ…

2006年12月09日


多重起動3−1追加。

6日目:多重起動3(EnumWindows、その他の方法) の1ページ目を追加。

それと、どなたかミクシー紹介してください。
3ヶ月くらい放置してたらアカウントが無効になって入れない…。
神様おいらをタスケテ(つwT)

紹介してくてる方はこちらまで ⇒ sp_mijinko@yahoo.co.jp

2006年12月03日


ミジンコメニューの見直し

これ順番逆だろ!と自分につっこみ。

7日目:窓化
8日目:ウィンドウについて

これを修正↓

7日目:ウィンドウについて
8日目:窓化

そして8日目の窓化、一日じゃおわらんぜよ('A`)
とういわけで 8、9日の2日間にさらに修正↓

7日目:ウィンドウについて
8日目:窓化1(D8)
9日目:窓化2(D9)

2006年12月02日


ミジンコゼミ:多重起動2−2(CreateMutex)


ミジンコゼミ:多重起動2−2(CreateMutex) をうp。

多重起動2−2(CreateMutex)

ミジンコゼミ書くのは結構つかれます('A`)

やっと半分、がんばれオレ。

2006年11月29日


ミジンコの進捗その2

ちょっと余力ができたのでノロノロとミジンコゼミの執筆再スタート。

多重起動2(CreateMuetx)の2ページ目は土曜日にうpします。

多重起動シリーズが書き終えたら少しきれいに記事を修正するかな。

そういえば 7日目:窓化 で使う DirectX9 用のプログラム作らなきゃ、と思ってたら
M$のサイトにいいサンプルがあるじゃん!! ソース付きだしこれでいっかな。

8日目:ウィンドウについて は・・・ソース付きで一個作るか。

次に 9日目:DLL について だが、こいつの説明って微妙にやっかいだったりする。( A ) ' `

10日目:何か作ってみよう えーと、こいつは以前伝えたとおり。とりあえずゼミのほうにリンク張っといた。

11日目:試験 これね、実際のゲーム or サンプル作って解析する。のどっちにしようか迷い中…

12日目:プレゼント ⇒ まだ何も考えてないんだけど何がいいかな。
う〜ん、う〜ん・・・・時間かかると思うけどチトエンジンの使い方とかアセンブラの入門書みたいのでも pdf で作ろうか?



2006年11月27日


ちょと苦戦中 by lostonline

ふがふが。

dinput.dll だと読み込み位置の問題(?)でこっちの機能の一部が

うまく動作しないっぽい。

むー、どこの呼び出しから乗っ取るのがベストなんだろ。

xtrap 起動より前でランチャ⇒lostonline 起動のすぐ後らへんの

いい場所はどこだ('A`)

2006年11月18日


やっと5日目(多重起動:CreateMutex)

やっぱり2ページになった。

とりあえず 5日目:多重起動2(CreateMutex) の1ページ目をうp。

5日目:多重起動2(CreateMutex)

2ページ目は早ければ明日?

2006年11月17日


10日の埋め合わせ

10日目:何か作ってみよう の授業が廃止(確定!)になったわけだが、もし授業を行うとしたら
何を作っただろうか?を仕事中にモヤモヤと考えてみた。

あまり手間がかからずある程度は実用的なもの・・・・































う〜ん・・・
(一時間経過)







































オフィス人:spさん、これこれの設定ってできますか??システムに影響ないですか!??

sp:あ〜・・・出来そうなヤカン。多分たいじょび・・・

オフィス人:じゃあお願いします!!

sp:来週ね(ボソ













































う〜ん・・・
(2時間経過)





































オフィス人:こないだのネットワーク不通になった件、原因がわかったって
      連絡ありましたよ!!

sp:へぇーへぇーへぇ & おめでd('A')

オフィス人:・・・・・・










































ー昼食ー








ウマーウマー('A`)ウマーウマー














































う〜ん・・・
(3時間経過)































( A ) ' '










































あぁん・・・
(4時間経過)











































!!!!!!!111111111










































閃いた!(・∀・)


ゲーム起動するにあたり UWSCCE などの外部ツールが立ち上がってたら
ゲームを起動させないで終了させる。という対策をとっているソフトが世の中にはある。
そして一般的にこの処理を実現するルーチンとしては、現在どんな実行ファイルが起動されているか?や
特定のウィンドウタイトルと一致するウィンドウが立ち上がっているかどうか?を確認する方法をとっている。

>現在どんな実行ファイルが起動されているか?

これは、単純にファイル名を変えてしまえば対策できる。

しかし、

>特定のウィンドウタイトルと一致するウィンドウが立ち上がっているかどうか?

となると、ファイル名ではなくウィンドウタイトルを変更しないと対策ができない。
ResourceHacker などで書き換えてしまえばいいかもしれないが意外と面倒だったりする。

というわけで 10日目:何か作ってみよう の埋め合わせも兼ねて
手軽に使えるツールを作ってみた。


タイトル変更ツール('A')


使用方法:

起動 ⇒ タイトル変更したいものをクリック ⇒ 下のエディタに新しいウィンドウタイトルを入力

⇒ set ボタンを押す。


その他:
起動中のみ有効。つまりタイトルを書き換えてもプログラムが終了したら元に戻る。



2006年11月14日


ミジンコあぅち!

「あぅ!」


と思ったんだが、10日目:何か作ってみよう ってダメだろ。
ミジンコといってもプログラミングした事ある人もいるかもしれないが
したことない人だっているわけだ。
で、これをやるってことはプログラミング講座を開かないといけなくなる。

('A`)イヤポ・・・

2006年11月11日


多重起動1(FindWindow)うpうp

多重起動チェック の基礎である FindWindow の解析方法をうp。

多重起動1(FindWindow)

それとブログのタイトルも変更することにした。
今までのタイトル SP's Blog から、
ミジンコでも出来るネトゲ解析 というまったくもって
センスのかけらも無いタイトルに変更。
分かりやすいからいいでしょ?

もし、いいタイトル考えたぜ!って人おったらおせーてね('A`)ノ

2006年11月02日


ミジンコゼミの進捗1

やっとこさ多重起動の資料作成に手を付けはじめました。
まだ4行しか書いて無いけどね('A`)

書いてる最中にふと思ったんだけど、ひょっとしてウィンドウという概念を
知らないミジンコがいるのではないか?という疑問が…。







う〜ん・・・アリエール。






というわけでまたもやミジンコゼミの授業内容の見直し。

んで、7日目:ファイルスタンプ、ファイルサイズチェック っていらなくないか?
別にお試し版ソフトの期限解除するわけでもないし…。
それと 8日目:デバッガ検知 もいらないな、
という結論に至ったのでこれを ウィンドウについて に変更。


1日目:入学/必要な教材

2日目:基礎

3日目:基本的な Ollydbg の操作方法と演習

4日目:多重起動1(FindWindow)

5日目:多重起動2(CreateMutex)

6日目:多重起動3(EnumWindows、その他の多重起動について)

7日目:窓化

8日目:ウィンドウについて

9日目:DLL について

10日目:何か作ってみよう

11日目:試験

12日目:プレゼント


他の項目もちょびっと変えてみたが、とりあえずはこんな感じ。

2006年10月30日


気まぐれ by MicMac

ミジンコゼミの授業内容に何を取り入れようかと考えてみた。
基本はみんなが知りたがること、どのネトゲでも話題にのぼる話が
いいんだろうなーとか思ったりしながらリサーチしていた。


そんな中、とある MicMac スレでこんな発言があるのに気づく。


>窓化できねぇーや orz


がんばれ!お前たちがんばれ!!窓化に向けてがんばれ!!!
と心の中でつぶやいてもしょうがいないので、ちょっとだけ
クライアントソフトを見てみた。
そして更に心の中でつぶやいてみる。


4**氏へ
多分 CreateWindow や MoveWindow の処理までしか解析してないと思われ。
(もっと先まで解析してたらゴメンナサイ。てかそしたら出来てるか…)

DirectX を使用しているゲームといえど確かに CreateWindow は使っている。
だが CreateWindow とかその他もろもろはあくまで DirectX の下地なだけだ。

つまり、CreateWindow ⇒ Direct3DCreate9 で オブジェクト作成
⇒ DirectX 用の関数やら CreateDevice やらで画面設定(フルスクリーン)
という流れでゲーム画面の全体表示をやっている。
だから Direct3DCreate9 以降の処理を見なきゃダメっぽ。

といっても Direct3DCreate9 が実行される処理までデバッグするには
nPro(GameGuard)が起動しないようにしなきゃいけない。
まぁ、CreateProcess をチェックしてればどうすればいいか分かるはず。

ちょっと話がそれるけど、自分でプログラム作れるなら GameGuard に渡される
パラメータをつかって GameGuard の各種ファイルを実行形式にしてみるのも面白いかも。
あー、あと CreateFile らへん見てたりすると更に夢が広がりまくリング。


話を戻して最後に一言。
nPro 外したら Direct3DCreate9 から CreateDevice の間の処理、というか
使われる値(構造体だね)をよーく見てみれば夢叶うかもよ。

じゃあガンバレ('A`)ノシ

00809869 |. 6A 20 PUSH 20
0080986B |. E8 F2DF0C00 CALL ; Direct3DCreate9 呼び出し。



00809914 |. 51 PUSH ECX
00809915 |. FF52 40 CALL DWORD PTR DS:[EDX+40] ;CreateDevice 関数呼び出し
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。